package main

import (
	"fmt"
	"time"
)

//子goroutine
func newTask() {
	i := 0
	for {
		i++
		fmt.Printf("new Goroutine : i = %d\n", i)
		time.Sleep(1 * time.Second)
	}
}

//主goroutine
func main() {
	//cpu对于进程 线程并没有区别 以往的cpu存在线程切换 导致了线程之间切换成本变大(主要是为了保存现场上下文消息)
	//go中利用了 协程 模型，
	//创建一个go程 去执行newTask() 流程
	go newTask()

	time.Sleep(3 * time.Second)
	fmt.Println("main goroutine exit")
}
